#include "stdafx.h"
#include "Observable.h"
#include "Observer.h"

namespace Core
{
	void Observable::AddObserver(Observer& p_Observer)
	{
		m_Observers.push_back(&p_Observer);
	}

	void Observable::NotifyObservers(void* p_Parameter)
	{
		for(std::vector<Observer*>::iterator p=m_Observers.begin(); p!=m_Observers.end(); p++)
		{
			(*p)->Update(*this, p_Parameter);
		}
	}
}
